When processing documents, computer systems are capable of displaying and printing character data in many different fonts. A font is a collection of characters and symbols of a particular style and size. Each font includes all of the letters, numbers, and other symbols which are generally required to produce a typical document in a language whose alphabet is part of the font.
A typeface is a particular design of type which can be rendered in any number of fonts which have particular typographer's point sizes. Typefaces are grouped in families. An example of a typeface family is Helvetica. (Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.) Other families include Times and Shannon. (Times is a trademark of Linotype-Hell AG and/or its subsidiaries; Shannon is a trademark of Agfa Corp.) Helvetica Oblique is one typeface in the Helvetica family. Other typefaces in the family may include Helvetica Roman and Helvetica Italic. Within the Helvetica Oblique typeface, there is a separate font for each point size. That is, Helvetica Oblique 18 point, Helvetica Oblique 24 point, and Helvetica Oblique 36 point are all individual fonts in the Helvetica Oblique typeface. Fonts can be provided to computer systems in more than one version, for example, one for display monitors with 75 dots per inch resolution and one for 100 dpi monitors.
The format of the data used to represent fonts in computer systems depends upon the application program used to process the document and the mode in which the document is presented. If the application is to hard copy print the document, it may use outline font data to lay out the page for printing. Outline font data defines points in characters and how the points should be connected.
The application may lay out a page for display on a computer workstation monitor prior to printing. In that case, the application uses font metrics data to determine the amount of space in the document occupied by the text. Among other details, font metrics data defines the width of each character in the font, including composite characters, i.e., characters which are composed of more than one piece. This information is used by the application to set up the page for monitor display so that the displayed page represents as accurately as possible what a printed page will look like.
Fonts are presented to a computer display system in a bitmap data format. In this format, each character in the font occupies a rectangular grid or matrix of pixels. That is, a multiplicity of pixels is arranged in a series of same length rows, and each pixel is set to either an ON or an OFF state which is represented by a 1 or a 0 data bit, respectively. The pixels in the ON state provide an image of the font character in the grid or matrix of pixels.
In some common computer display systems, the height of each text line is strictly defined. None of the characters in the text may be taller than a height restriction imposed by the display system. When the text is composed in the English language, this rarely presents a problem. The capital letters in the font are all the same height. They extend up to or very close to the maximum allowable height to ensure clarity when they are displayed.
In many other languages, however, this height restriction presents a problem. Some non-English alphabets include characters which are taller than the capital letters. These characters are usually capital letters with accents or diacritical marks above them. Ideally, these accented capital letters are taller than the rest of the capital letters in the alphabet. In fact, an accented capital letter is simply the base capital letter with the accent added on top. In computer display systems with character height restrictions, accented capital letters cannot be presented in this ideal manner. Since the base capital letters extend to the height limit, adding an accent on top would cause a violation of the height restriction, and the character could not be displayed. To date, the approach used by many popular systems to display accented capital letters is to shorten or compress the base letter sufficiently to allow the composite character (i.e., base letter plus accent or diacritical mark) to comply with the height restriction. The result is that all of the capital letters in the alphabet, including the ones which are base letters of composite characters, are not the same height on the display.
As mentioned above, font bitmaps are used by computer display systems to display characters on a computer workstation monitor. In general, one piece of a composite character, called the "base piece," is the capital letter without any accent. A major part of the bitmap represents the base piece. The remaining portion of the bitmap represents a second piece of the composite character which is the accent. To accommodate the height restriction, the base piece is not identical to its corresponding capital letter. It is compressed vertically so that it does not extend to the height limit. When the accent piece portion of the bitmap (which may also be compressed) is combined with the compressed capital letter portion, the bitmap of the resulting composite character extends to, but not above, the height limit. The composite character is approximately the same overall size (especially heightwise) as the unaccented capital letters in the font.
Among other items, commercial vendors of fonts supply the font bitmaps to purchasers of fonts. Because computer displays with height restrictions are so common in the industry, the bitmaps include representations of these accented compressed capital letters. As a result, even if a purchaser uses the font bitmaps on a computer display which does not restrict the height of characters, the bitmap presents, and hence the display system displays the accented capital letters with the capital letter portions in compressed form.
To resolve the foregoing situation, a human type designer and special font bitmap editing software and hardware is required to expand or replace the accented capital letters in the font bitmap. In particular, the type designer uses a font editor program and makes changes to each accented character by hand. Typically the font editor program is a very useful windowing application program that uses a graphical user interface to enable selection, modification, and creation of font bitmaps. However, the process for replacing compressed capital letters, with the font editor program still involves many manual steps.
First, the type designer uses the font editor to select an accented capital letter and erases it. He then selects a "base" character, such as "A" copies it to the "clipboard" window, and copies it again to the accented character position. Finally, he either selects an accent shape from another character, or creates such a shape drawing upon his type design experience. That shape is superimposed on the new bitmap character in a position that seems most appropriate to the type designer. This process is then repeated for each accented capital letter in the font.
Hence disadvantages of the foregoing font bitmap editing process include:
the amount of time involved considering the numerous (about 20-30) accented capital letters in commonly used fonts for which the process would have to be repeated; PA1 the increased possibility of unrelated inadvertent modifications to a font due to the process normally being performed in several edit passes (human error); and PA1 the addition of accents of inconsistent weights and shapes due to the subjectivity of the type designer throughout the process.